/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.webhomesites.padrao.model;

import br.com.webhomesites.padrao.utils.AbstractEntity;
import java.io.Serializable;
import java.util.List;
import javax.persistence.*;

/**
 *
 * @author Webhome
 */
@Entity
@Table(name="padcomposicaoproduto")
@NamedQueries({
@NamedQuery(name="br.com.webhomesites.padrao.model.ComposicaoProdutoModel.findByDescricao", query ="SELECT u FROM GrupoProdutoModel u WHERE u.descricao = :descricao"),
@NamedQuery(name="br.com.webhomesites.padrao.model.ComposicaoProdutoModel.findByDescricaoUnica", query ="SELECT u FROM GrupoProdutoModel u WHERE u.descricao = :descricao"),
@NamedQuery(name="br.com.webhomesites.padrao.model.ComposicaoProdutoModel.findMaxId", query ="SELECT MAX(id) from GrupoProdutoModel p"),
@NamedQuery(name="br.com.webhomesites.padrao.model.ComposicaoProdutoModel.findIdByDescricao", query ="SELECT p.id from GrupoProdutoModel p WHERE p.descricao = :descricao")
})
public class ComposicaoProdutoModel extends AbstractEntity implements Serializable{
    
    private List<ItemComposicaoProdutoModel> itemComposicaoProdutoModel;
      
    private ProdutoModel produtoModelComposto;
    
    private String tipo;

    @Column(name="tipo")
    public String getTipo() {
        return tipo;
    }

    public void setTipo(String tipo) {
        this.tipo = tipo;
    }   
    
    @OneToOne(mappedBy = "composicaoProdutoModel")
    public ProdutoModel getProdutoModelComposto() {
        return produtoModelComposto;
    }

    public void setProdutoModelComposto(ProdutoModel produtoModelComposto) {
        this.produtoModelComposto = produtoModelComposto;
    }

    @OneToMany(mappedBy = "composicaoProdutoModel")
    public List<ItemComposicaoProdutoModel> getItemComposicaoProdutoModel() {
        return itemComposicaoProdutoModel;
    }

    public void setItemComposicaoProdutoModel(List<ItemComposicaoProdutoModel> itemComposicaoProdutoModel) {
        this.itemComposicaoProdutoModel = itemComposicaoProdutoModel;
    }
        
}
